package com.ruoyi.shop.member.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 会员用户对象 shop_member
 * 
 * @author xuxiang
 */
public class ShopMember extends BaseEntity {
	private static final long serialVersionUID = 1L;

	/** 主键 */
	private Long memberId;

	/** 会员账号 */
	@Excel(name = "会员账号")
	private String loginName;

	/** 会员昵称 */
	@Excel(name = "会员昵称")
	private String nickName;

	/** 真实姓名 */
	@Excel(name = "真实姓名")
	private String realName;

	/** 手机号码 */
	@Excel(name = "手机号码")
	private String mobile;

	/** 座机号 */
	@Excel(name = "座机号")
	private String phone;

	/** 详细地址 */
	@Excel(name = "详细地址")
	private String address;

	/** 生日 */
	@Excel(name = "生日")
	private String birthday;

	/** 1为正常，0为禁止 */
	@Excel(name = "1为正常，0为禁止")
	private Integer status;

	/** 会员邮箱 */
	@Excel(name = "会员邮箱")
	private String email;

	/** 会员性别（0男 1女 2未知） */
	@Excel(name = "会员性别", readConverterExp = "0=男,1=女,2=未知")
	private String sex;

	/** 密码 */
	@Excel(name = "密码")
	private String password;

	/** 删除标志（0代表存在 2代表删除） */
	private String delFlag;

	/** 最后登录IP */
	@Excel(name = "最后登录IP")
	private String loginIp;

	/** 最后登录时间 */
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@Excel(name = "最后登录时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
	private Date loginDate;

	/** 头像地址 */
	@Excel(name = "头像地址")
	private String avatar;

	/** 所在省id */
	private Long provinceId;

	/** 所在省名称 */
	private String provinceName;

	/** 所在市id */
	private Long cityId;

	/** 所在市名称 */
	private String cityName;

	/** 所在县id */
	private Long districtId;

	/** 所在县名称 */
	private String districtName;

	/*********** 业务数据 ***************/

	/** 当前等级 */
	@Excel(name = "等级")
	private Integer level;

	/** 当前可用积分 */
	@Excel(name = "积分")
	private BigDecimal point;

	/** 当可用前成长值 */
	@Excel(name = "成长值")
	private BigDecimal growth;

	public Long getMemberId() {
		return memberId;
	}

	public void setMemberId(Long memberId) {
		this.memberId = memberId;
	}

	public void setNickName(String nickName) {
		this.nickName = nickName;
	}

	public String getNickName() {
		return nickName;
	}

	public String getRealName() {
		return realName;
	}

	public void setRealName(String realName) {
		this.realName = realName;
	}

	public void setPhone(String phone) {
		this.phone = phone;
	}

	public String getPhone() {
		return phone;
	}

	public String getAddress() {
		return address;
	}

	public void setAddress(String address) {
		this.address = address;
	}

	public void setBirthday(String birthday) {
		this.birthday = birthday;
	}

	public String getBirthday() {
		return birthday;
	}

	public void setStatus(Integer status) {
		this.status = status;
	}

	public Integer getStatus() {
		return status;
	}

	public void setLevel(Integer level) {
		this.level = level;
	}

	public Integer getLevel() {
		return level;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	public String getEmail() {
		return email;
	}

	public void setSex(String sex) {
		this.sex = sex;
	}

	public String getSex() {
		return sex;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public String getPassword() {
		return password;
	}

	public void setDelFlag(String delFlag) {
		this.delFlag = delFlag;
	}

	public String getDelFlag() {
		return delFlag;
	}

	public void setLoginIp(String loginIp) {
		this.loginIp = loginIp;
	}

	public String getLoginIp() {
		return loginIp;
	}

	public void setLoginDate(Date loginDate) {
		this.loginDate = loginDate;
	}

	public Date getLoginDate() {
		return loginDate;
	}

	public void setAvatar(String avatar) {
		this.avatar = avatar;
	}

	public String getAvatar() {
		return avatar;
	}

	public void setProvinceId(Long provinceId) {
		this.provinceId = provinceId;
	}

	public Long getProvinceId() {
		return provinceId;
	}

	public void setCityId(Long cityId) {
		this.cityId = cityId;
	}

	public Long getCityId() {
		return cityId;
	}

	public void setDistrictId(Long districtId) {
		this.districtId = districtId;
	}

	public Long getDistrictId() {
		return districtId;
	}

	public String getMobile() {
		return mobile;
	}

	public void setMobile(String mobile) {
		this.mobile = mobile;
	}

	public BigDecimal getPoint() {
		return point;
	}

	public void setPoint(BigDecimal point) {
		this.point = point;
	}

	public BigDecimal getGrowth() {
		return growth;
	}

	public void setGrowth(BigDecimal growth) {
		this.growth = growth;
	}

	public String getProvinceName() {
		return provinceName;
	}

	public void setProvinceName(String provinceName) {
		this.provinceName = provinceName;
	}

	public String getCityName() {
		return cityName;
	}

	public void setCityName(String cityName) {
		this.cityName = cityName;
	}

	public String getDistrictName() {
		return districtName;
	}

	public void setDistrictName(String districtName) {
		this.districtName = districtName;
	}

	public String getLoginName() {
		return loginName;
	}

	public void setLoginName(String loginName) {
		this.loginName = loginName;
	}

	@Override
	public String toString() {
		return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE).append("memberId", getMemberId())
				.append("loginName", getLoginName()).append("nickName", getNickName()).append("realName", getRealName())
				.append("phone", getPhone()).append("address", getAddress()).append("birthday", getBirthday())
				.append("status", getStatus()).append("level", getLevel()).append("email", getEmail())
				.append("sex", getSex()).append("password", getPassword()).append("delFlag", getDelFlag())
				.append("loginIp", getLoginIp()).append("loginDate", getLoginDate()).append("avatar", getAvatar())
				.append("provinceId", getProvinceId()).append("cityId", getCityId()).append("growth", getGrowth())
				.append("point", getPoint()).append("districtId", getDistrictId()).toString();
	}

}
